1. Field
Example embodiments relate to a streaming apparatus, a streaming method, and/or a streaming service system using the streaming apparatus. For example, at least some example embodiments relate to a streaming apparatus, a streaming method, and/or a streaming service system using the streaming apparatus, whereby delay times of players of a plurality of terminal apparatuses are substantially the same and/or buffering of the players is reduced by modifying a reproduction list file.
2. Description of the Related Art
A streaming service may reproduce multimedia data in real-time through, for example, the Internet.
Recently, the streaming service is provided by using a standard hyper text transfer protocol (HTTP) instead of a traditional server-driven protocol, such as a real time messaging protocol (RTMP) or a real time streaming protocol (RTSP).
As a method of providing the streaming service by using the standard HTTP, a HTTP progressive download method and a HT IP live streaming (HLS) method may be used.
According to the HLS method, a media file is fragmented, for example, into files (for example, MPEG-2 transport stream files) having a short length of about 10 seconds (generally, 5 to 15 seconds), and a reproduction list file, i.e., meta information of file fragments is provided to a client. The reproduction list file may be an M3U8 (HLS2) file using a synchronized multimedia integration language (SMIL) that is a type of an extensible markup language (XML). Accordingly, a filename may include “.M3U8” or “.M3U”. Here, a “.M3U” file may be used for content including only audio.
File fragments, i.e., image fragment files, may be in an MPEG2-TS format, and a filename extension is “ts”.
Since filenames may indicate a sequential order, a file name may be generated such that a file name that will be assigned next may be inferred. A file name mainly uses a number in a decimal number format, but may alternatively use another notation. The reproduction list file may provide, as an extension function, tags for setting a reproduction order of image fragment files and various reproduction-related functions.
The client may download, from a server, the reproduction list file by using HTTP, and sequentially reproduce image fragment files assigned in the reproduction list file by downloading the image fragment files from the server.
In an HLS service, generally, the reproduction list file transmitted to a client includes a reproduction order of 3 or more image fragment files. If reproduction starts after a third image fragment file that is the last image fragment file in a file list of a reproduction list file, the client may request for a new reproduction list file. In addition, if the client found an updated reproduction list after receiving the reproduction list file from the server, the client requests for files corresponding to the updated reproduction list after standing by at least for a length of the last image fragment file of the reproduction list. If the reproduction list is not updated, the client may request again for the new reproduction list file after standing by, for example, for 0.5 times of a target length.
As such, the HLS method supports both live streaming and video on demand (VOD) streaming, wherein in case of the live streaming, a protocol operates in quasi real time, and a reproduction start time of a player may vary according to transport streams (TS) included in M3U8 and thus a delay time of the player may vary.